package com.scs.application.modules.sys.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

/**
* @Description：yml system 下所有属性
*/
@Data
@ConfigurationProperties(prefix = "system")
@Component
public class SystemProperties {
    private ApiFsd apiFsd = new ApiFsd() ;
    private spd2 spd2 = new spd2() ;
    private hospital hospital = new hospital() ;
    //日志文件路径
    private String logpath;

    //数据库root账户名称，必须
    private String dbrootname;
    //数据库root账户密码，必须，初始密码，当系统启动后，该密码会强行修改
    private String dbrootpwd;

    //svn 开发地址，不指定则取默认
    private String svndevurl;

    //svn sit地址，不指定则取默认
    private String svnsiturl;

    //svn release地址，不指定则取默认
    private String svnreleaseurl;


    //svn 项目地址，将在svn版本初始化时使用，比如：
    private String svnprojecturl;

    //svn 账户，不配置的话将使用 svn客户端所配置的账户
    private String svnusername;

    //svn 密码，不配置的话将使用 svn客户端所配置的密码
    private String svnpassword;

    // 是否是项目分支，默认是
    private Boolean flagProject = true;

    // true 出库、科室退货后将更新三级库库存
    private Boolean flagStockDeptAdd = false;

    //svn 密码，不配置的话将使用 svn客户端所配置的密码
    private String dbbackupurl;


    //svn 密码，不配置的话将使用 svn客户端所配置的密码
    private String dbbackupusername;


    //svn 密码，不配置的话将使用 svn客户端所配置的密码
    private String dbbackuppassword;

    /**
    * @Description：智能柜相关配置
    */
    @Data
    public class ApiFsd {
        /**
        * @Description：spd暴露给智能柜的接口版本号
        */
        private String SpdApiVersion;
        /**
        * @Description：支持设备类型
        */
        private List<String> SupportFsdType;
    }

    @Data
    /**
     * @Description：spd2.0相关数据源配置
     */
    public class spd2 {
        /**
         * @Description： 用户名
         */
        private String username;

        /**
         * @Description： Miami
         */
        private String password;

        /**
         * @Description： spd 访问数据库连接
         */
        private String spdurl;
        /**
         * @Description： spd_sys 访问数据库连接
         */
        private String spdsysurl;
    }

    @Data
    /**
     * @Description：spd2.0相关数据源配置
     */
    public class hospital {
        /**
         * @Description： 名称
         */
        private String hospitalName;

        /**
         * @Description： 信用代码
         */
        private String hospitalCode;

        /**
         * @Description： 联系人
         */
        private String hospitalUser;
        /**
         * @Description： 联系电话
         */
        private String hospitalPhone;
        /**
         * @Description： 联系邮箱
         */
        private String hospitalMail;
    }

}
